---
layout: default
title: Modernized Java
---
<div id="header_wrapper">
	<div class="container"> 
		<div class="flexslider image-slider">
			<div class="span6" style="margin-left:7px;">
			<h2 class="front-title">
				Java with spice!
			</h2>
			<br />
			<p>Xtend is a flexible and expressive dialect of Java, which compiles into readable Java&nbsp;8 compatible source code. 
			   You can use any existing Java library seamlessly. The compiled output is readable 
				and pretty-printed, and tends to run as fast as the equivalent
				handwritten Java code.</p>
			<p>Get productive and write beautiful code with <a href="documentation/204_activeannotations.html">powerful macros</a>, <a href="documentation/203_xtend_expressions.html#lambdas">lambdas</a>, <a href="documentation/203_xtend_expressions.html#operators">operator overloading</a> and many more modern language features.</p>
				<a href="download.html" class="btn_download"></a>
				<a href="documentation/index.html" class="btn_documentation"></a>
			</div>
			<div class="span4">
				<video id="video" class="embedded-video" controls width="100%" poster="images/intro_thumb.png">
					<source src="media/xtend_intro_720p.mp4" type="video/mp4">
					
  					Your browser does not support the video tag.
				</video>
				<script type="text/javascript">
				var base = "media/xtend_intro_";
				if (location.hostname === "localhost" || location.hostname === "127.0.0.1") {
					base = location.protocol+"//eclipse.dev/Xtext/xtend/media/xtend_intro_";
				}
				var videoList = new Array(base+"720p.mp4",base+"360p.mp4",base+"270p.mp4");
				var video = document.getElementById('video');
				if (window.innerWidth <= 800) video.setAttribute("src", videoList[2]);
				else if (window.innerWidth <= 1400) video.setAttribute("src", videoList[1]);
				else video.setAttribute("src", videoList[0]);
				</script>
			</div>
		</div>
	</div>
</div>

<div id="intro">
	<div class="container">
		<ul class="newsticker">
		      <li><!--a href="https://dslmeinte.wordpress.com/2012/09/24/a-trick-for-speeding-up-xtend-building/"-->&ldquo;I love Xtend and use it as much as possible.&rdquo; (Meinte Boersma)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/xxDwxnSeaco/xWj7Y-CovmAJ"-->&ldquo;Xtend is a wonderful language for improving the developer experience.&rdquo; (Salvatore Romeo)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/ABhngFZ4Qxg/cV76ZsFKUDEJ"-->&ldquo;I am loving Xtend, and I wanted to say thanks.&rdquo; (Jacob Goodson)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/ABhngFZ4Qxg/7sZbQy_inXYJ"-->&ldquo;It&#39;s very comfortable to work with Xtend.&rdquo; (Ross Judson)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/bdMs7kCBZSc/61jGMxH6ZmgJ"-->&ldquo;Xtend rocks and I love using it :-)&rdquo; (Christian Vogel)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/BqqPjXxxfMk/j8XDk1bAtp4J"-->&ldquo;I love the expressiveness in Xtend and the ability to write cleaner code.&rdquo; (Jesper Eskilson)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/En6rF8PTnG4/1mdU0QmJ3nYJ"-->&ldquo;I love it!&rdquo; (Francois Green)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/ABhngFZ4Qxg/7sZbQy_inXYJ"-->&ldquo;Having idiomatic Java generated by the compiler is a great safety net.&rdquo; (Ross Judson)
		      <li><!--a href="https://twitter.com/meinte37/status/507135731920556032"-->&ldquo;Xtend could be described as &ldquo;Scala, the good parts&ldquo;.&rdquo; (Meinte Boersma)
		      <li><!--a href="https://groups.google.com/d/msg/xtend-lang/mKAansrVhms/SzcfLEwZo_UJ"-->&ldquo;Xtend is awesome for Android Programming!&rdquo; (Eugen)
		</ul>
	</div>
</div>

<div id="features">
	<div class="container">
		<div class="row">
			<br/>
			<br />
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/android_logo.png" alt="Android" />
				</div>
				<div class="span3">
					<h4>Android Development</h4>
					<p>
						Xtend works great on Android, as it doesn't produce additional runtime overhead.
						The very thin lib and the advanced support for code generation increase productivity
						while helping to keep your Android apps small.
					</p>
				</div>
			</div>
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/gwt-logo.png" alt="Google Web Toolkit" />
				</div>
				<div class="span3">
					<h4>Web Development</h4>
					<p>
						The Google Web Toolkit translates Java source code to fast Javascript code. Xtend makes typical
						GWT programming a joy. There are many nice examples and cool enhancements <a href="https://github.com/DJCordhose/todomvc-xtend-gwt">out there</a>.
					</p>
				</div>
			</div>
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/Java_Duke_learning.png" alt="Java FX" />
				</div>
				<div class="span3">
					<h4>Fast Learning Curve!</h4>
					<p>
						If you know Java, you will be productive with Xtend in a few hours.
						Xtend is an extension to Java, so you can reuse all your knowledge about tools and libraries.
						Also complicated language features like generics remain unchanged.
					</p>
				</div>
			</div>
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/eclipse_logo.png" alt="Eclipse" />
				</div>
				<div class="span3">
					<h4>Advanced IDE Support</h4>
					<p>
						Static typing is not only important for early error detection but even more so for good IDE support.
						To ensure a great and holistic user experience, Xtend's IDE and language have been designed side by side. And of course
						the tools integrate seamlessly with the Eclipse Java IDE. 
					</p>
				</div>
			</div>
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/java8_logo.png" alt="Java FX" />
				</div>
				<div class="span3">
					<h4>Java 8 Ready</h4>
					<p>
						Xtend works well with Java 8 APIs as it does the same kind of target typing coercion for lambdas.
						With its additional syntactical flexibility, of course Xtend code looks much better than the equivalent Java 8 code.
						<a href="http://blog.efftinge.de/2012/12/java-8-vs-xtend.html">Here are some examples</a>. 
					</p>
				</div>
			</div>
			<div class="span6 float feature">
				<div class="span2">
					<img src="images/javafx_logo.jpg" alt="Java FX" />
				</div>
				<div class="span3">
					<h4>XtendFX</h4>
					<p>
						UI programming in Java can be very tedious. 
						Checkout the <a href="https://github.com/svenefftinge/xtendfx">XtendFX project</a> to see how you can get rid of
						Java boiler plate easily. It contains some very useful <a href="documentation/204_activeannotations.html">active annotations</a> for 
						automatically generating JavaFX properties. 
					</p>
				</div>
			</div>
		</div>
	</div>
</div>